Array.prototype.quickSort = function(){
    console.log(this);

    let {length} = this;

    //递归的结束条件
    if(length <= 1){
        return this;
    }

    //以数组的第一个元素作为基准点
    let poivt = this[0],left=[],right=[];
    //循环数组分为左右两个数组，比基准点大的放在右侧数组，小的放在左侧数组
    for(let i = 0;i<length;i++){
        if(this[i] > poivt){
            right.push(this[i]);
        }else if(this[i] < poivt){
            left.push(this[i]);
        }
    }

    let l = left.quickSort();
    let r = right.quickSort();

    return l.concat(poivt).concat(r);
}

let arr = [5,4,3,2,1];

console.log(arr.quickSort());

